#include <iostream>
#include <stack>
#include <algorithm>
#include <map>
using namespace std;
int a[300010];
int n;
map<int,int> vis;
bool check(int x)
{
	int tmp=n;
	for(int i=1; i<=x; i++)
	{
		if(vis[i]==0) tmp-=2;
		else tmp-=1;
	}
	return tmp>=0;
}
int main()
{
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		cin>>a[i];
		vis[a[i]]++;
	}
	int l=0,r=n+1;
	while(l+1<r)
	{
		int mid=(l+r)>>1;
		if(check(mid)) l=mid;
		else r=mid;
	}
	cout<<l<<endl;
	return 0;
}
